﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;

namespace InnvoiceActual.Logica.GestorObject.Factura
{
    public class ItemsFactura : INotifyPropertyChanged
    {

        public event PropertyChangedEventHandler PropertyChanged;


        public byte CodigoEmpresa { set; get; }   //	tinyint(2)		???
        public int NroComprobante1 { set; get; }  //smallint(4)	???
        public int NroComprobante2 { set; get; }  //	int(8)	    ???
        public int Posicion { set; get; } //posicion dentro del arreglo de items
        public int CodigoTipo { set; get; }  	//tinyint(3) codigo del tipo de factura	"A" "B"
        public decimal Cantidad { set; get; }   //	decimal(8,2)	
        public int Codigo_Categoria_Art { set; get; }   //	smallint(3)		
        public int Codigo_Articulo { set; get; }  	//smallint(3)	
        public int Codigo_subArticulo { set; get; }    //smallint(3)	
        public string CodigoArticulo { set; get; } //codgio concatenado para mostrar unicamente
        public string DetalleArticulo { set; get; }
        public decimal _precio;   //	decimal(8,2)	
        public decimal _precioTotaL; // CANTIDAD * PRECIO (SERIA EL UNITARIO)
        public decimal Iva { set; get; }   	// decimal(4,2)
        public int CodigoIva { set; get; } //que codigo de iva es


        public ItemsFactura() {
            CodigoTipo = 0;
            Codigo_Categoria_Art = 0;
            Codigo_Articulo = 0;
            Codigo_subArticulo = 0;
            Cantidad = 0;
            _precio = 0;
            PrecioTotaL = 0;
            Iva = 0;
        }


        public decimal PrecioTotaL
        {
            get
            {
                return _precioTotaL;
            }
            set
            {
                _precioTotaL = value;
                if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs("PrecioTotaL"));
            }
        }

        public decimal Precio
        {
            get
            {
                return _precio;
            }
            set
            {
                _precio = value;
                if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs("Precio"));
            }
        }


    }
}
